package smallfrench.moteur.interp;

import java.io.BufferedReader;
import java.io.IOException;

public class EntreeConsole implements IEntreeConsole {

	private BufferedReader lecteur;

	public EntreeConsole(BufferedReader lecteur) {
		this.lecteur = lecteur;
	}

	@Override
	public boolean caracteresDisponibles() {
		try {
			return lecteur.ready();
		} catch (IOException e) {
			return false;
		}
	}

	@Override
	public void viderTamponEntree() {
		try {
			while (lecteur.ready()) {
				lecteur.read();
			}
		} catch (IOException e) {
		}
	}

	@Override
	public char lireCaractere() throws InterruptedException {
		try {
			while (! lecteur.ready()) {
				Thread.sleep(10);
			}
			return (char) lecteur.read();
		} catch (IOException e) {
			e.printStackTrace();
			return ' ';
		}
	}

	@Override
	public int lireTouche() {
		return -1;
	}

}
